// ******************************************************************************
// Copyright     :  Copyright (C) 2019, Hisilicon Technologies Co. Ltd.
// File name     :  SD5860_sd5860_typedef.h
// Project line  :
// Department    :
// Author        :  xxx
// Version       :  1.0
// Date          :
// Description   :  xxx
// Others        :  Generated automatically by nManager V5.1
// History       :  xxx 2019/09/18 10:05:20 Create file
// ******************************************************************************

#ifndef HI1823_C_UNION_DEFINE_H
#define HI1823_C_UNION_DEFINE_H

/* Define the union csr_tile_l2i_version_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 tile_l2i_version : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_l2i_version_u;

/* Define the union csr_tile_l2i_preload_en_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 tile_l2i_preload_en : 1; /* [0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_l2i_preload_en_u;

/* Define the union csr_tile_l2i_preload_start_addr_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 tile_l2i_preload_start_addr : 27; /* [26:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_l2i_preload_start_addr_u;

/* Define the union csr_tile_l2i_preload_cacheline_num_m1_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 tile_l2i_preload_cacheline_num_m1 : 11; /* [10:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_l2i_preload_cacheline_num_m1_u;

/* Define the union csr_tile_l2i_fetch_api_cfg_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 src_tag_l : 12;  /* [11:0] */
        u32 instance_id : 6; /* [17:12] */
        u32 rsv_0 : 2;       /* [19:18] */
        u32 vcache_sel : 4;  /* [23:20] */
        u32 rsv_1 : 8;       /* [31:24] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_l2i_fetch_api_cfg_u;

/* Define the union csr_tile_l2i_imr_cfg_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 imr : 24; /* [23:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_l2i_imr_cfg_u;

/* Define the union csr_tile_l2i_timeout_thd_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 timeout_thd : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_l2i_timeout_thd_u;

/* Define the union csr_tile_l2i_int_0_vector_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 cpi_int_index : 24; /* [23:0] */
        u32 rsv_2 : 3;          /* [26:24] */
        u32 enable : 1;         /* [27] */
        u32 int_issue : 1;      /* [28] */
        u32 rsv_3 : 3;          /* [31:29] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_l2i_int_0_vector_u;

/* Define the union csr_tile_l2i_int_0_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 int_data : 8;        /* [7:0] */
        u32 rsv_4 : 8;           /* [15:8] */
        u32 program_csr_id : 16; /* [31:16] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_l2i_int_0_u;

/* Define the union csr_tile_l2i_int_0_mask_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 err_mask : 8;        /* [7:0] */
        u32 rsv_5 : 8;           /* [15:8] */
        u32 program_csr_id : 16; /* [31:16] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_l2i_int_0_mask_u;

/* Define the union csr_tile_l2i_timeout_err_qcm0_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 qcm0_timeout_err0 : 1;  /* [0] */
        u32 qcm0_timeout_merr0 : 1; /* [1] */
        u32 qcm0_timeout_err1 : 1;  /* [2] */
        u32 qcm0_timeout_merr1 : 1; /* [3] */
        u32 qcm0_timeout_err2 : 1;  /* [4] */
        u32 qcm0_timeout_merr2 : 1; /* [5] */
        u32 qcm0_timeout_err3 : 1;  /* [6] */
        u32 qcm0_timeout_merr3 : 1; /* [7] */
        u32 qcm0_timeout_err4 : 1;  /* [8] */
        u32 qcm0_timeout_merr4 : 1; /* [9] */
        u32 qcm0_timeout_err5 : 1;  /* [10] */
        u32 qcm0_timeout_merr5 : 1; /* [11] */
        u32 qcm0_timeout_err6 : 1;  /* [12] */
        u32 qcm0_timeout_merr6 : 1; /* [13] */
        u32 qcm0_timeout_err7 : 1;  /* [14] */
        u32 qcm0_timeout_merr7 : 1; /* [15] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_l2i_timeout_err_qcm0_u;

/* Define the union csr_tile_l2i_timeout_err_qcm0_mask_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 qcm0_timeout_err0_mask : 1; /* [0] */
        u32 qcm0_timeout_err1_mask : 1; /* [1] */
        u32 qcm0_timeout_err2_mask : 1; /* [2] */
        u32 qcm0_timeout_err3_mask : 1; /* [3] */
        u32 qcm0_timeout_err4_mask : 1; /* [4] */
        u32 qcm0_timeout_err5_mask : 1; /* [5] */
        u32 qcm0_timeout_err6_mask : 1; /* [6] */
        u32 qcm0_timeout_err7_mask : 1; /* [7] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_l2i_timeout_err_qcm0_mask_u;

/* Define the union csr_tile_l2i_timeout_err_qcm1_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 qcm1_timeout_err0 : 1;  /* [0] */
        u32 qcm1_timeout_merr0 : 1; /* [1] */
        u32 qcm1_timeout_err1 : 1;  /* [2] */
        u32 qcm1_timeout_merr1 : 1; /* [3] */
        u32 qcm1_timeout_err2 : 1;  /* [4] */
        u32 qcm1_timeout_merr2 : 1; /* [5] */
        u32 qcm1_timeout_err3 : 1;  /* [6] */
        u32 qcm1_timeout_merr3 : 1; /* [7] */
        u32 qcm1_timeout_err4 : 1;  /* [8] */
        u32 qcm1_timeout_merr4 : 1; /* [9] */
        u32 qcm1_timeout_err5 : 1;  /* [10] */
        u32 qcm1_timeout_merr5 : 1; /* [11] */
        u32 qcm1_timeout_err6 : 1;  /* [12] */
        u32 qcm1_timeout_merr6 : 1; /* [13] */
        u32 qcm1_timeout_err7 : 1;  /* [14] */
        u32 qcm1_timeout_merr7 : 1; /* [15] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_l2i_timeout_err_qcm1_u;

/* Define the union csr_tile_l2i_timeout_err_qcm1_mask_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 qcm1_timeout_err0_mask : 1; /* [0] */
        u32 qcm1_timeout_err1_mask : 1; /* [1] */
        u32 qcm1_timeout_err2_mask : 1; /* [2] */
        u32 qcm1_timeout_err3_mask : 1; /* [3] */
        u32 qcm1_timeout_err4_mask : 1; /* [4] */
        u32 qcm1_timeout_err5_mask : 1; /* [5] */
        u32 qcm1_timeout_err6_mask : 1; /* [6] */
        u32 qcm1_timeout_err7_mask : 1; /* [7] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_l2i_timeout_err_qcm1_mask_u;

/* Define the union csr_tile_l2i_timeout_err_qcm2_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 qcm2_timeout_err0 : 1;  /* [0] */
        u32 qcm2_timeout_merr0 : 1; /* [1] */
        u32 qcm2_timeout_err1 : 1;  /* [2] */
        u32 qcm2_timeout_merr1 : 1; /* [3] */
        u32 qcm2_timeout_err2 : 1;  /* [4] */
        u32 qcm2_timeout_merr2 : 1; /* [5] */
        u32 qcm2_timeout_err3 : 1;  /* [6] */
        u32 qcm2_timeout_merr3 : 1; /* [7] */
        u32 qcm2_timeout_err4 : 1;  /* [8] */
        u32 qcm2_timeout_merr4 : 1; /* [9] */
        u32 qcm2_timeout_err5 : 1;  /* [10] */
        u32 qcm2_timeout_merr5 : 1; /* [11] */
        u32 qcm2_timeout_err6 : 1;  /* [12] */
        u32 qcm2_timeout_merr6 : 1; /* [13] */
        u32 qcm2_timeout_err7 : 1;  /* [14] */
        u32 qcm2_timeout_merr7 : 1; /* [15] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_l2i_timeout_err_qcm2_u;

/* Define the union csr_tile_l2i_timeout_err_qcm2_mask_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 qcm2_timeout_err0_mask : 1; /* [0] */
        u32 qcm2_timeout_err1_mask : 1; /* [1] */
        u32 qcm2_timeout_err2_mask : 1; /* [2] */
        u32 qcm2_timeout_err3_mask : 1; /* [3] */
        u32 qcm2_timeout_err4_mask : 1; /* [4] */
        u32 qcm2_timeout_err5_mask : 1; /* [5] */
        u32 qcm2_timeout_err6_mask : 1; /* [6] */
        u32 qcm2_timeout_err7_mask : 1; /* [7] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_l2i_timeout_err_qcm2_mask_u;

/* Define the union csr_tile_l2i_timeout_err_qcm3_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 qcm3_timeout_err0 : 1;  /* [0] */
        u32 qcm3_timeout_merr0 : 1; /* [1] */
        u32 qcm3_timeout_err1 : 1;  /* [2] */
        u32 qcm3_timeout_merr1 : 1; /* [3] */
        u32 qcm3_timeout_err2 : 1;  /* [4] */
        u32 qcm3_timeout_merr2 : 1; /* [5] */
        u32 qcm3_timeout_err3 : 1;  /* [6] */
        u32 qcm3_timeout_merr3 : 1; /* [7] */
        u32 qcm3_timeout_err4 : 1;  /* [8] */
        u32 qcm3_timeout_merr4 : 1; /* [9] */
        u32 qcm3_timeout_err5 : 1;  /* [10] */
        u32 qcm3_timeout_merr5 : 1; /* [11] */
        u32 qcm3_timeout_err6 : 1;  /* [12] */
        u32 qcm3_timeout_merr6 : 1; /* [13] */
        u32 qcm3_timeout_err7 : 1;  /* [14] */
        u32 qcm3_timeout_merr7 : 1; /* [15] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_l2i_timeout_err_qcm3_u;

/* Define the union csr_tile_l2i_timeout_err_qcm3_mask_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 qcm3_timeout_rr0_mask : 1;  /* [0] */
        u32 qcm3_timeout_err1_mask : 1; /* [1] */
        u32 qcm3_timeout_err2_mask : 1; /* [2] */
        u32 qcm3_timeout_err3_mask : 1; /* [3] */
        u32 qcm3_timeout_err4_mask : 1; /* [4] */
        u32 qcm3_timeout_err5_mask : 1; /* [5] */
        u32 qcm3_timeout_err6_mask : 1; /* [6] */
        u32 qcm3_timeout_err7_mask : 1; /* [7] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_l2i_timeout_err_qcm3_mask_u;

/* Define the union csr_tile_l2i_timeout_err_qcm4_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 qcm4_timeout_err0 : 1;  /* [0] */
        u32 qcm4_timeout_merr0 : 1; /* [1] */
        u32 qcm4_timeout_err1 : 1;  /* [2] */
        u32 qcm4_timeout_merr1 : 1; /* [3] */
        u32 qcm4_timeout_err2 : 1;  /* [4] */
        u32 qcm4_timeout_merr2 : 1; /* [5] */
        u32 qcm4_timeout_err3 : 1;  /* [6] */
        u32 qcm4_timeout_merr3 : 1; /* [7] */
        u32 qcm4_timeout_err4 : 1;  /* [8] */
        u32 qcm4_timeout_merr4 : 1; /* [9] */
        u32 qcm4_timeout_err5 : 1;  /* [10] */
        u32 qcm4_timeout_merr5 : 1; /* [11] */
        u32 qcm4_timeout_err6 : 1;  /* [12] */
        u32 qcm4_timeout_merr6 : 1; /* [13] */
        u32 qcm4_timeout_err7 : 1;  /* [14] */
        u32 qcm4_timeout_merr7 : 1; /* [15] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_l2i_timeout_err_qcm4_u;

/* Define the union csr_tile_l2i_timeout_err_qcm4_mask_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 qcm4_timeout_err0_mask : 1; /* [0] */
        u32 qcm4_timeout_err1_mask : 1; /* [1] */
        u32 qcm4_timeout_err2_mask : 1; /* [2] */
        u32 qcm4_timeout_err3_mask : 1; /* [3] */
        u32 qcm4_timeout_err4_mask : 1; /* [4] */
        u32 qcm4_timeout_err5_mask : 1; /* [5] */
        u32 qcm4_timeout_err6_mask : 1; /* [6] */
        u32 qcm4_timeout_err7_mask : 1; /* [7] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_l2i_timeout_err_qcm4_mask_u;

/* Define the union csr_tile_l2i_timeout_err_qcm5_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 qcm5_timeout_err0 : 1;  /* [0] */
        u32 qcm5_timeout_merr0 : 1; /* [1] */
        u32 qcm5_timeout_err1 : 1;  /* [2] */
        u32 qcm5_timeout_merr1 : 1; /* [3] */
        u32 qcm5_timeout_err2 : 1;  /* [4] */
        u32 qcm5_timeout_merr2 : 1; /* [5] */
        u32 qcm5_timeout_err3 : 1;  /* [6] */
        u32 qcm5_timeout_merr3 : 1; /* [7] */
        u32 qcm5_timeout_err4 : 1;  /* [8] */
        u32 qcm5_timeout_merr4 : 1; /* [9] */
        u32 qcm5_timeout_err5 : 1;  /* [10] */
        u32 qcm5_timeout_merr5 : 1; /* [11] */
        u32 qcm5_timeout_err6 : 1;  /* [12] */
        u32 qcm5_timeout_merr6 : 1; /* [13] */
        u32 qcm5_timeout_err7 : 1;  /* [14] */
        u32 qcm5_timeout_merr7 : 1; /* [15] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_l2i_timeout_err_qcm5_u;

/* Define the union csr_tile_l2i_timeout_err_qcm5_mask_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 qcm5_timeout_err0_mask : 1; /* [0] */
        u32 qcm5_timeout_err1_mask : 1; /* [1] */
        u32 qcm5_timeout_err2_mask : 1; /* [2] */
        u32 qcm5_timeout_err3_mask : 1; /* [3] */
        u32 qcm5_timeout_err4_mask : 1; /* [4] */
        u32 qcm5_timeout_err5_mask : 1; /* [5] */
        u32 qcm5_timeout_err6_mask : 1; /* [6] */
        u32 qcm5_timeout_err7_mask : 1; /* [7] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_l2i_timeout_err_qcm5_mask_u;

/* Define the union csr_tile_l2i_mem_1bit_ecc_err_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 error_bit : 1;       /* [0] */
        u32 multi_error_bit : 1; /* [1] */
        u32 sticky : 12;         /* [13:2] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_l2i_mem_1bit_ecc_err_u;

/* Define the union csr_tile_l2i_mem_2bit_ecc_err_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 error_bit : 1;       /* [0] */
        u32 multi_error_bit : 1; /* [1] */
        u32 sticky : 12;         /* [13:2] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_l2i_mem_2bit_ecc_err_u;

/* Define the union csr_tile_l2i_perf_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 tile_l2i_perf_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_l2i_perf_cnt_u;

/* Define the union csr_tile_l2i_init_en_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 tile_l2i_init_en : 1; /* [0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_l2i_init_en_u;

/* Define the union csr_tile_l2i_done_hist_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 l2i_init_done : 1;    /* [0] */
        u32 l2i_preload_done : 1; /* [1] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_l2i_done_hist_u;

/* Define the union csr_tile_l2i_sp_ram_tmod_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 tile_l2i_sp_ram_tmod : 7; /* [6:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_l2i_sp_ram_tmod_u;

/* Define the union csr_tile_l2i_clr_v_flag_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 tile_l2i_clr_v_flag : 1;    /* [0] */
        u32 rsv_6 : 3;                  /* [3:1] */
        u32 tile_l2i_clr_v_flag_id : 6; /* [9:4] */
        u32 rsv_7 : 22;                 /* [31:10] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_l2i_clr_v_flag_u;

/* Define the union csr_tile_l2i_mod_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 tile_l2i_refill_mod : 1; /* [0] */
        u32 rsv_8 : 3;               /* [3:1] */
        u32 tile_l2i_bypass : 4;     /* [7:4] */
        u32 rsv_9 : 24;              /* [31:8] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_l2i_mod_u;

/* Define the union csr_l2i_indrect_ctrl_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 l2i_indrect_addr : 8;   /* [7:0] */
        u32 rsv_10 : 16;            /* [23:8] */
        u32 l2i_indrect_tab : 3;    /* [26:24] */
        u32 rsv_11 : 1;             /* [27] */
        u32 l2i_indrect_status : 2; /* [29:28] */
        u32 l2i_indrect_mode : 1;   /* [30] */
        u32 l2i_indrect_vld : 1;    /* [31] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_l2i_indrect_ctrl_u;

/* Define the union csr_l2i_indrect_timeout_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 l2i_indrect_timeout : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_l2i_indrect_timeout_u;

/* Define the union csr_l2i_indrect_data_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 l2i_indrect_data : 24; /* [23:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_l2i_indrect_data_u;

/* Define the union csr_tile_l2i_ecc_err_inj_0_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 tile_l2i_ecc_err_inj_0 : 24; /* [23:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_l2i_ecc_err_inj_0_u;

/* Define the union csr_tile_l2i_ecc_err_inj_1_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 tile_l2i_ecc_err_inj_1 : 24; /* [23:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_l2i_ecc_err_inj_1_u;

/* Define the union csr_tile_l2i_miss_addr_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 capture_data : 27;  /* [26:0] */
        u32 trigger_enable : 1; /* [27] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_l2i_miss_addr_u;

/* Define the union csr_tile_l2i_imr_ext_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 imr_smf_0 : 2;  /* [1:0] */
        u32 imr_smf_1 : 2;  /* [3:2] */
        u32 imr_smf_2 : 2;  /* [5:4] */
        u32 imr_smf_3 : 2;  /* [7:6] */
        u32 imr_node_n : 2; /* [9:8] */
        u32 rsv_12 : 22;    /* [31:10] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_l2i_imr_ext_u;


/* Define the union csr_ppe_version_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ppe_version : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ppe_version_u;

/* Define the union csr_ppe_cfg_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ppe_timeout_en : 1;            /* [0] */
        u32 rx_meta_wd_base_offset : 2;    /* [2:1] */
        u32 tx_meta_wd_base_offset : 2;    /* [4:3] */
        u32 rp_tile_tiu_wakeup_gen : 1;    /* [5] */
        u32 pw_mw_out_of_range_chk_en : 1; /* [6] */
        u32 upgrade_online_en : 1;         /* [7] */
        u32 ppe_prog_exe_long_clr : 1;     /* [8] */
        u32 ppe_prog_num_clr : 1;          /* [9] */
        u32 ppe_err_num_clr : 1;           /* [10] */
        u32 rsv_0 : 21;                    /* [31:11] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ppe_cfg_u;

/* Define the union csr_ppe_timeout_cfg_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ppe_timeout_value : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ppe_timeout_cfg_u;

/* Define the union csr_ppe_mem_cfg_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 sp_ram_tmod : 7; /* [6:0] */
        u32 rsv_1 : 25;      /* [31:7] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ppe_mem_cfg_u;

/* Define the union csr_ppe_int_vector_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 cpi_int_index : 24; /* [23:0] */
        u32 rsv_2 : 3;          /* [26:24] */
        u32 enable : 1;         /* [27] */
        u32 int_issue : 1;      /* [28] */
        u32 rsv_3 : 3;          /* [31:29] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ppe_int_vector_u;

/* Define the union csr_ppe_int_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 int_data : 3;        /* [2:0] */
        u32 rsv_4 : 13;          /* [15:3] */
        u32 program_csr_id : 16; /* [31:16] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ppe_int_u;

/* Define the union csr_ppe_int_mask_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 err_mask : 3;        /* [2:0] */
        u32 rsv_5 : 13;          /* [15:3] */
        u32 program_csr_id : 16; /* [31:16] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ppe_int_mask_u;

/* Define the union csr_ppe_mem_err_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 se_imem_2b_ecc_err : 1;       /* [0] */
        u32 se_imem_2b_ecc_merr : 1;      /* [1] */
        u32 se_imem_1b_ecc_err : 1;       /* [2] */
        u32 se_imem_1b_ecc_merr : 1;      /* [3] */
        u32 be_iss0_imem_2b_ecc_err : 1;  /* [4] */
        u32 be_iss0_imem_2b_ecc_merr : 1; /* [5] */
        u32 be_iss0_imem_1b_ecc_err : 1;  /* [6] */
        u32 be_iss0_imem_1b_ecc_merr : 1; /* [7] */
        u32 be_iss1_imem_2b_ecc_err : 1;  /* [8] */
        u32 be_iss1_imem_2b_ecc_merr : 1; /* [9] */
        u32 be_iss1_imem_1b_ecc_err : 1;  /* [10] */
        u32 be_iss1_imem_1b_ecc_merr : 1; /* [11] */
        u32 be_iss2_imem_2b_ecc_err : 1;  /* [12] */
        u32 be_iss2_imem_2b_ecc_merr : 1; /* [13] */
        u32 be_iss2_imem_1b_ecc_err : 1;  /* [14] */
        u32 be_iss2_imem_1b_ecc_merr : 1; /* [15] */
        u32 be_iss3_imem_2b_ecc_err : 1;  /* [16] */
        u32 be_iss3_imem_2b_ecc_merr : 1; /* [17] */
        u32 be_iss3_imem_1b_ecc_err : 1;  /* [18] */
        u32 be_iss3_imem_1b_ecc_merr : 1; /* [19] */
        u32 ee_imem_2b_ecc_err : 1;       /* [20] */
        u32 ee_imem_2b_ecc_merr : 1;      /* [21] */
        u32 ee_imem_1b_ecc_err : 1;       /* [22] */
        u32 ee_imem_1b_ecc_merr : 1;      /* [23] */
        u32 be_rtn_invld_jmp_err : 1;     /* [24] */
        u32 be_rtn_invld_jmp_merr : 1;    /* [25] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ppe_mem_err_u;

/* Define the union csr_ppe_mem_err_mask_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 se_imem_2b_ecc_mask : 1;      /* [0] */
        u32 se_imem_1b_ecc_mask : 1;      /* [1] */
        u32 be_iss0_imem_2b_ecc_mask : 1; /* [2] */
        u32 be_iss0_imem_1b_ecc_mask : 1; /* [3] */
        u32 be_iss1_imem_2b_ecc_mask : 1; /* [4] */
        u32 be_iss1_imem_1b_ecc_mask : 1; /* [5] */
        u32 be_iss2_imem_2b_ecc_mask : 1; /* [6] */
        u32 be_iss2_imem_1b_ecc_mask : 1; /* [7] */
        u32 be_iss3_imem_2b_ecc_mask : 1; /* [8] */
        u32 be_iss3_imem_1b_ecc_mask : 1; /* [9] */
        u32 ee_imem_2b_ecc_mask : 1;      /* [10] */
        u32 ee_imem_1b_ecc_mask : 1;      /* [11] */
        u32 be_rtn_invld_jmp_mask : 1;    /* [12] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ppe_mem_err_mask_u;

/* Define the union csr_ppe_mem_err_info_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 mem_err_index : 8;     /* [7:0] */
        u32 mem_err_info_type : 4; /* [11:8] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ppe_mem_err_info_u;

/* Define the union csr_ppe_timeout_err_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 error_bit : 1;       /* [0] */
        u32 multi_error_bit : 1; /* [1] */
        u32 sticky : 30;         /* [31:2] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ppe_timeout_err_u;

/* Define the union csr_ppe_indrect_ctrl_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ppe_indrect_addr : 8; /* [7:0] */
        u32 ppe_indrect_tab : 3;  /* [10:8] */
        u32 rsv_6 : 17;           /* [27:11] */
        u32 ppe_indrect_stat : 2; /* [29:28] */
        u32 ppe_indrect_mode : 1; /* [30] */
        u32 ppe_indrect_vld : 1;  /* [31] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ppe_indrect_ctrl_u;

/* Define the union csr_ppe_indrect_timeout_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ppe_indrect_timeout : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ppe_indrect_timeout_u;

/* Define the union csr_ppe_indrect_data_0_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ppe_indrect_data_0 : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ppe_indrect_data_0_u;

/* Define the union csr_ppe_indrect_data_1_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ppe_indrect_data_1 : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ppe_indrect_data_1_u;

/* Define the union csr_ppe_indrect_data_2_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ppe_indrect_data_2 : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ppe_indrect_data_2_u;

/* Define the union csr_ppe_indrect_data_3_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ppe_indrect_data_3 : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ppe_indrect_data_3_u;

/* Define the union csr_ppe_indrect_data_4_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ppe_indrect_data_4 : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ppe_indrect_data_4_u;

/* Define the union csr_ppe_indrect_data_5_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ppe_indrect_data_5 : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ppe_indrect_data_5_u;

/* Define the union csr_ppe_cnt_cfg_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 cnt0_enable : 1;       /* [0] */
        u32 cnt1_enable : 1;       /* [1] */
        u32 cnt2_enable : 1;       /* [2] */
        u32 cnt3_enable : 1;       /* [3] */
        u32 cnt0_match_en : 2;     /* [5:4] */
        u32 cnt1_match_en : 2;     /* [7:6] */
        u32 cnt2_match_en : 2;     /* [9:8] */
        u32 cnt3_match_en : 2;     /* [11:10] */
        u32 cnt0_sel : 1;          /* [12] */
        u32 cnt1_sel : 1;          /* [13] */
        u32 cnt2_sel : 1;          /* [14] */
        u32 cnt3_sel : 1;          /* [15] */
        u32 cnt0_match_core : 2;   /* [17:16] */
        u32 cnt1_match_core : 2;   /* [19:18] */
        u32 cnt2_match_core : 2;   /* [21:20] */
        u32 cnt3_match_core : 2;   /* [23:22] */
        u32 cnt0_match_thread : 2; /* [25:24] */
        u32 cnt1_match_thread : 2; /* [27:26] */
        u32 cnt2_match_thread : 2; /* [29:28] */
        u32 cnt3_match_thread : 2; /* [31:30] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ppe_cnt_cfg_u;

/* Define the union csr_ppe_cnt0_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ppe_cnt0 : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ppe_cnt0_u;

/* Define the union csr_ppe_cnt1_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ppe_cnt1 : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ppe_cnt1_u;

/* Define the union csr_ppe_cnt2_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ppe_cnt2 : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ppe_cnt2_u;

/* Define the union csr_ppe_cnt3_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ppe_cnt3 : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ppe_cnt3_u;

/* Define the union csr_ppe_stat_ctp_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 be_running : 1;           /* [0] */
        u32 ee_running : 1;           /* [1] */
        u32 se_running : 1;           /* [2] */
        u32 se_waiting : 1;           /* [3] */
        u32 launch_wr_sp_pending : 1; /* [4] */
        u32 launch_iss_pending : 1;   /* [5] */
        u32 wr_sp_ins_pending : 1;    /* [6] */
        u32 obuf_depth : 5;           /* [11:7] */
        u32 ibuf_credit : 2;          /* [13:12] */
        u32 post_st_credit : 3;       /* [16:14] */
        u32 req_fifo_depth : 5;       /* [21:17] */
        u32 obuf_full : 1;            /* [22] */
        u32 rspn_fifo_full : 1;       /* [23] */
        u32 rspn_fifo_depth : 5;      /* [28:24] */
        u32 upgrade_rdy : 1;          /* [29] */
        u32 rsv_7 : 2;                /* [31:30] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ppe_stat_ctp_u;

/* Define the union csr_ppe_pc_ctp_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 se : 8;    /* [7:0] */
        u32 be : 8;    /* [15:8] */
        u32 ee : 8;    /* [23:16] */
        u32 rsv_8 : 8; /* [31:24] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ppe_pc_ctp_u;

/* Define the union csr_ppe_pw_mw_out_of_range_err_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 error_bit : 1;       /* [0] */
        u32 multi_error_bit : 1; /* [1] */
        u32 sticky : 30;         /* [31:2] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ppe_pw_mw_out_of_range_err_u;

/* Define the union csr_ppe_se_ins_exe_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ppe_se_ins_exe_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ppe_se_ins_exe_cnt_u;

/* Define the union csr_ppe_be_ins_exe_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ppe_be_ins_exe_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ppe_be_ins_exe_cnt_u;

/* Define the union csr_ppe_ee_ins_exe_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ppe_ee_ins_exe_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ppe_ee_ins_exe_cnt_u;

/* Define the union csr_ppe_err_num_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 tx_data : 8; /* [7:0] */
        u32 tx_api : 8;  /* [15:8] */
        u32 rx_data : 8; /* [23:16] */
        u32 rx_api : 8;  /* [31:24] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ppe_err_num_u;

/* Define the union csr_ppe_stat_ctp2_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 obuf_credit : 9;        /* [8:0] */
        u32 rsv_9 : 7;              /* [15:9] */
        u32 prog_exe_long_num : 16; /* [31:16] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ppe_stat_ctp2_u;

/* Define the union csr_ppe_prog_ent_addr_0_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ppe_prog_ent_addr_0 : 8; /* [7:0] */
        u32 ppe_prog_ent_addr_1 : 8; /* [15:8] */
        u32 ppe_prog_ent_addr_2 : 8; /* [23:16] */
        u32 ppe_prog_ent_addr_3 : 8; /* [31:24] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ppe_prog_ent_addr_0_u;

/* Define the union csr_ppe_prog_ent_addr_1_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ppe_prog_ent_addr_4 : 8; /* [7:0] */
        u32 ppe_prog_ent_addr_5 : 8; /* [15:8] */
        u32 ppe_prog_ent_addr_6 : 8; /* [23:16] */
        u32 ppe_prog_ent_addr_7 : 8; /* [31:24] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ppe_prog_ent_addr_1_u;

/* Define the union csr_ppe_prog_exit_addr_0_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ppe_prog_exit_addr_0 : 8; /* [7:0] */
        u32 ppe_prog_exit_addr_1 : 8; /* [15:8] */
        u32 ppe_prog_exit_addr_2 : 8; /* [23:16] */
        u32 ppe_prog_exit_addr_3 : 8; /* [31:24] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ppe_prog_exit_addr_0_u;

/* Define the union csr_ppe_prog_exit_addr_1_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ppe_prog_exit_addr_4 : 8; /* [7:0] */
        u32 ppe_prog_exit_addr_5 : 8; /* [15:8] */
        u32 ppe_prog_exit_addr_6 : 8; /* [23:16] */
        u32 ppe_prog_exit_addr_7 : 8; /* [31:24] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ppe_prog_exit_addr_1_u;

/* Define the union csr_ent_num_0_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ppe_prog : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ent_num_0_u;

/* Define the union csr_ent_num_1_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ppe_prog : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ent_num_1_u;

/* Define the union csr_ent_num_2_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ppe_prog : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ent_num_2_u;

/* Define the union csr_ent_num_3_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ppe_prog : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ent_num_3_u;

/* Define the union csr_ent_num_4_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ppe_prog : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ent_num_4_u;

/* Define the union csr_ent_num_5_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ppe_prog : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ent_num_5_u;

/* Define the union csr_ent_num_6_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ppe_prog : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ent_num_6_u;

/* Define the union csr_ent_num_7_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ppe_prog : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ent_num_7_u;

/* Define the union csr_exit_num_0_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ppe_prog : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_exit_num_0_u;

/* Define the union csr_exit_num_1_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ppe_prog : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_exit_num_1_u;

/* Define the union csr_exit_num_2_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ppe_prog : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_exit_num_2_u;

/* Define the union csr_exit_num_3_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ppe_prog : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_exit_num_3_u;

/* Define the union csr_exit_num_4_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ppe_prog : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_exit_num_4_u;

/* Define the union csr_exit_num_5_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ppe_prog : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_exit_num_5_u;

/* Define the union csr_exit_num_6_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ppe_prog : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_exit_num_6_u;

/* Define the union csr_exit_num_7_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ppe_prog : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_exit_num_7_u;

/* Define the union csr_ppe_prog_exe_time_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ppe_prog_exe_time : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ppe_prog_exe_time_u;

/* Define the union csr_ppe_prog_exe_long_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 se_pc : 8;     /* [7:0] */
        u32 be_pc : 8;     /* [15:8] */
        u32 ee_pc : 8;     /* [23:16] */
        u32 se_runing : 1; /* [24] */
        u32 be_runing : 1; /* [25] */
        u32 ee_runing : 1; /* [26] */
        u32 rsv_10 : 5;    /* [31:27] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ppe_prog_exe_long_u;

/* Define the union csr_ppe_prog_exe_long_pw_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ptr_0 : 8; /* [7:0] */
        u32 ptr_1 : 8; /* [15:8] */
        u32 ptr_2 : 8; /* [23:16] */
        u32 ptr_3 : 8; /* [31:24] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ppe_prog_exe_long_pw_u;

/* Define the union csr_ppe_prog_exe_long_mw_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ptr_0 : 8; /* [7:0] */
        u32 ptr_1 : 8; /* [15:8] */
        u32 ptr_2 : 8; /* [23:16] */
        u32 ptr_3 : 8; /* [31:24] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ppe_prog_exe_long_mw_u;

/* Define the union csr_exe_long_pw_reg_0_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ppe_prog : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_exe_long_pw_reg_0_u;

/* Define the union csr_exe_long_pw_reg_1_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ppe_prog : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_exe_long_pw_reg_1_u;

/* Define the union csr_exe_long_pw_reg_2_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ppe_prog : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_exe_long_pw_reg_2_u;

/* Define the union csr_exe_long_pw_reg_3_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ppe_prog : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_exe_long_pw_reg_3_u;

/* Define the union csr_exe_long_mw_reg_0_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ppe_prog : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_exe_long_mw_reg_0_u;

/* Define the union csr_exe_long_mw_reg_1_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ppe_prog : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_exe_long_mw_reg_1_u;

/* Define the union csr_exe_long_mw_reg_2_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ppe_prog : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_exe_long_mw_reg_2_u;

/* Define the union csr_exe_long_mw_reg_3_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ppe_prog : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_exe_long_mw_reg_3_u;


/* Define the union csr_tile_qcm_version_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 tile_qcm_version : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_qcm_version_u;

/* Define the union csr_tile_qcm_perf_cntl_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 tile_qcm_perf_cnt0_event : 4; /* [3:0] */
        u32 tile_qcm_perf_cnt1_event : 2; /* [5:4] */
        u32 rsv_0 : 2;                    /* [7:6] */
        u32 tile_qcm_perf_cnt2_event : 4; /* [11:8] */
        u32 tile_qcm_perf_cnt0_en : 1;    /* [12] */
        u32 tile_qcm_perf_cnt1_en : 1;    /* [13] */
        u32 tile_qcm_perf_cnt2_en : 1;    /* [14] */
        u32 rsv_1 : 17;                   /* [31:15] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_qcm_perf_cntl_u;

/* Define the union csr_tile_qcm_common_cfg_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 csr_timer_int_tc : 2;          /* [1:0] */
        u32 csr_timer_int_c : 1;           /* [2] */
        u32 ocp_rsp_err_int_c : 1;         /* [3] */
        u32 csr_c_thread_mode : 1;         /* [4] */
        u32 rp_spram_err_inject_en : 1;    /* [5] */
        u32 rsv_2 : 2;                     /* [7:6] */
        u32 sp_ram_tmod : 7;               /* [14:8] */
        u32 rp_cpb_hw_push_base_f : 1;     /* [15] */
        u32 mem_power_ret1n : 1;           /* [16] */
        u32 rp_ecc_err_gen_dis : 1;        /* [17] */
        u32 kisdon_timer_en : 1;           /* [18] */
        u32 lsul2_cache_err_check_dis : 1; /* [19] */
        u32 rsv_3 : 12;                    /* [31:20] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_qcm_common_cfg_u;

/* Define the union csr_tile_qcm_reset_cfg_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 rp_core0_reset : 1;  /* [0] */
        u32 rp_core1_reset : 1;  /* [1] */
        u32 rp_core2_reset : 1;  /* [2] */
        u32 rp_core3_reset : 1;  /* [3] */
        u32 rp_core0_clk_en : 1; /* [4] */
        u32 rp_core1_clk_en : 1; /* [5] */
        u32 rp_core2_clk_en : 1; /* [6] */
        u32 rp_core3_clk_en : 1; /* [7] */
        u32 rp_ppe_clk_en : 1;   /* [8] */
        u32 rsv_4 : 23;          /* [31:9] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_qcm_reset_cfg_u;

/* Define the union csr_tile_qcm_c0_csr_int_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 intr_valid : 1;  /* [0] */
        u32 rsv_0 : 3;       /* [3:1] */
        u32 tc_id : 2;       /* [5:4] */
        u32 rsv_1 : 8;       /* [13:6] */
        u32 intr_ctl : 1;    /* [14] */
        u32 intr_infor : 17; /* [31:15] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_qcm_c0_csr_int_u;

/* Define the union csr_tile_qcm_c1_csr_int_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 intr_valid : 1;  /* [0] */
        u32 rsv_0 : 3;       /* [3:1] */
        u32 tc_id : 2;       /* [5:4] */
        u32 rsv_1 : 8;       /* [13:6] */
        u32 intr_ctl : 1;    /* [14] */
        u32 intr_infor : 17; /* [31:15] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_qcm_c1_csr_int_u;

/* Define the union csr_tile_qcm_c2_csr_int_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 intr_valid : 1;  /* [0] */
        u32 rsv_0 : 3;       /* [3:1] */
        u32 tc_id : 2;       /* [5:4] */
        u32 rsv_1 : 8;       /* [13:6] */
        u32 intr_ctl : 1;    /* [14] */
        u32 intr_infor : 17; /* [31:15] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_qcm_c2_csr_int_u;

/* Define the union csr_tile_qcm_c3_csr_int_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 intr_valid : 1;  /* [0] */
        u32 rsv_0 : 3;       /* [3:1] */
        u32 tc_id : 2;       /* [5:4] */
        u32 rsv_1 : 8;       /* [13:6] */
        u32 intr_ctl : 1;    /* [14] */
        u32 intr_infor : 17; /* [31:15] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_qcm_c3_csr_int_u;

/* Define the union csr_tile_qcm_int_vector_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 cpi_int_index : 24; /* [23:0] */
        u32 rsv_5 : 3;          /* [26:24] */
        u32 enable : 1;         /* [27] */
        u32 int_issue : 1;      /* [28] */
        u32 rsv_6 : 3;          /* [31:29] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_qcm_int_vector_u;

/* Define the union csr_tile_qcm_int_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 int_data : 10;       /* [9:0] */
        u32 rsv_7 : 6;           /* [15:10] */
        u32 program_csr_id : 16; /* [31:16] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_qcm_int_u;

/* Define the union csr_tile_qcm_int_mask_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 err_mask : 10;       /* [9:0] */
        u32 rsv_8 : 6;           /* [15:10] */
        u32 program_csr_id : 16; /* [31:16] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_qcm_int_mask_u;

/* Define the union csr_tile_qcm_c0_spram_err_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 error_bit : 1;       /* [0] */
        u32 multi_error_bit : 1; /* [1] */
        u32 sticky : 30;         /* [31:2] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_qcm_c0_spram_err_u;

/* Define the union csr_tile_qcm_c1_spram_err_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 error_bit : 1;       /* [0] */
        u32 multi_error_bit : 1; /* [1] */
        u32 sticky : 30;         /* [31:2] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_qcm_c1_spram_err_u;

/* Define the union csr_tile_qcm_c2_spram_err_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 error_bit : 1;       /* [0] */
        u32 multi_error_bit : 1; /* [1] */
        u32 sticky : 30;         /* [31:2] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_qcm_c2_spram_err_u;

/* Define the union csr_tile_qcm_c3_spram_err_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 error_bit : 1;       /* [0] */
        u32 multi_error_bit : 1; /* [1] */
        u32 sticky : 30;         /* [31:2] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_qcm_c3_spram_err_u;

/* Define the union csr_c0_lsul2_csr_cache_addr_err_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 error_bit : 1;       /* [0] */
        u32 multi_error_bit : 1; /* [1] */
        u32 sticky : 30;         /* [31:2] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_c0_lsul2_csr_cache_addr_err_u;

/* Define the union csr_c1_lsul2_csr_cache_addr_err_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 error_bit : 1;       /* [0] */
        u32 multi_error_bit : 1; /* [1] */
        u32 sticky : 30;         /* [31:2] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_c1_lsul2_csr_cache_addr_err_u;

/* Define the union csr_c2_lsul2_csr_cache_addr_err_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 error_bit : 1;       /* [0] */
        u32 multi_error_bit : 1; /* [1] */
        u32 sticky : 30;         /* [31:2] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_c2_lsul2_csr_cache_addr_err_u;

/* Define the union csr_c3_lsul2_csr_cache_addr_err_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 error_bit : 1;       /* [0] */
        u32 multi_error_bit : 1; /* [1] */
        u32 sticky : 30;         /* [31:2] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_c3_lsul2_csr_cache_addr_err_u;

/* Define the union csr_tile_qcm_lsu_err_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 c0_lsu_csr_dsb_err : 1;           /* [0] */
        u32 c0_lsu_csr_dsb_merr : 1;          /* [1] */
        u32 c1_lsu_csr_dsb_err : 1;           /* [2] */
        u32 c1_lsu_csr_dsb_merr : 1;          /* [3] */
        u32 c2_lsu_csr_dsb_err : 1;           /* [4] */
        u32 c2_lsu_csr_dsb_merr : 1;          /* [5] */
        u32 c3_lsu_csr_dsb_err : 1;           /* [6] */
        u32 c3_lsu_csr_dsb_merr : 1;          /* [7] */
        u32 c0_lsu_csr_uncache_addr_err : 1;  /* [8] */
        u32 c0_lsu_csr_uncache_addr_merr : 1; /* [9] */
        u32 c1_lsu_csr_uncache_addr_err : 1;  /* [10] */
        u32 c1_lsu_csr_uncache_addr_merr : 1; /* [11] */
        u32 c2_lsu_csr_uncache_addr_err : 1;  /* [12] */
        u32 c2_lsu_csr_uncache_addr_merr : 1; /* [13] */
        u32 c3_lsu_csr_uncache_addr_err : 1;  /* [14] */
        u32 c3_lsu_csr_uncache_addr_merr : 1; /* [15] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_qcm_lsu_err_u;

/* Define the union csr_tile_qcm_lsu_err_mask_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 c0_lsu_csr_dsb_err_mask : 1;          /* [0] */
        u32 c1_lsu_csr_dsb_err_mask : 1;          /* [1] */
        u32 c2_lsu_csr_dsb_err_mask : 1;          /* [2] */
        u32 c3_lsu_csr_dsb_err_mask : 1;          /* [3] */
        u32 c0_lsu_csr_uncache_addr_err_mask : 1; /* [4] */
        u32 c1_lsu_csr_uncache_addr_err_mask : 1; /* [5] */
        u32 c2_lsu_csr_uncache_addr_err_mask : 1; /* [6] */
        u32 c3_lsu_csr_uncache_addr_err_mask : 1; /* [7] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_qcm_lsu_err_mask_u;

/* Define the union csr_reservd_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 rsv_9 : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_reservd_u;

/* Define the union csr_tile_qcm_perf_cnt0_u */
typedef union {
    /* Define the struct bits */
    struct {
        u64 tile_qcm_perf_cnt0 : 48; /* [47:0] */
        u64 rsvd : 16;
    } bits;

    /* Define an unsigned member */
    u64 value;
} csr_tile_qcm_perf_cnt0_u;

/* Define the union csr_tile_qcm_perf_cnt1_u */
typedef union {
    /* Define the struct bits */
    struct {
        u64 tile_qcm_perf_cnt1 : 48; /* [47:0] */
        u64 rsvd : 16;
    } bits;

    /* Define an unsigned member */
    u64 value;
} csr_tile_qcm_perf_cnt1_u;

/* Define the union csr_tile_qcm_perf_cnt2_u */
typedef union {
    /* Define the struct bits */
    struct {
        u64 tile_qcm_perf_cnt2 : 48; /* [47:0] */
        u64 rsvd : 16;
    } bits;

    /* Define an unsigned member */
    u64 value;
} csr_tile_qcm_perf_cnt2_u;

/* Define the union csr_tile_qcm_clr_g_flag_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 tile_qcm_clr_g_flag : 1;    /* [0] */
        u32 rsv_10 : 3;                 /* [3:1] */
        u32 tile_qcm_clr_g_flag_id : 3; /* [6:4] */
        u32 rsv_11 : 25;                /* [31:7] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_qcm_clr_g_flag_u;

/* Define the union csr_tile_qcm_mon_cfg_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 tile_qcm_mon_addr : 8;   /* [7:0] */
        u32 tile_qcm_mon_type : 3;   /* [10:8] */
        u32 rsv_12 : 1;              /* [11] */
        u32 rp_src_tag_oeid_sel : 4; /* [15:12] */
        u32 rsv_13 : 16;             /* [31:16] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_qcm_mon_cfg_u;

/* Define the union csr_tile_qcm_mon_sta_u */
typedef union {
    /* Define the struct bits */
    struct {
        u64 ctp : 40; /* [39:0] */
        u64 rsvd : 24;
    } bits;

    /* Define an unsigned member */
    u64 value;
} csr_tile_qcm_mon_sta_u;

/* Define the union csr_tile_qcm_osd_sta_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 chaw : 16; /* [15:0] */
        u32 inst_g : 8; /* [23:16] */
        u32 inst_c : 8; /* [31:24] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_qcm_osd_sta_u;

/* Define the union csr_tile_qcm_src_oeid_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ctp : 22; /* [21:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_qcm_src_oeid_u;

/* Define the union csr_tile_qcm_mmu_addr0_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 tile_qcm_mmu_addr0 : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_qcm_mmu_addr0_u;

/* Define the union csr_tile_qcm_mmu_addr1_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 tile_qcm_mmu_addr1 : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_qcm_mmu_addr1_u;

/* Define the union csr_tile_qcm_mmu_addr2_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 tile_qcm_mmu_addr2 : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_qcm_mmu_addr2_u;

/* Define the union csr_tile_qcm_spram_ecc_err_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 c0_spram_ecc1_err : 1;  /* [0] */
        u32 c0_spram_ecc1_merr : 1; /* [1] */
        u32 c0_spram_eccm_err : 1;  /* [2] */
        u32 c0_spram_eccm_merr : 1; /* [3] */
        u32 c1_spram_ecc1_err : 1;  /* [4] */
        u32 c1_spram_ecc1_merr : 1; /* [5] */
        u32 c1_spram_eccm_err : 1;  /* [6] */
        u32 c1_spram_eccm_merr : 1; /* [7] */
        u32 c2_spram_ecc1_err : 1;  /* [8] */
        u32 c2_spram_ecc1_merr : 1; /* [9] */
        u32 c2_spram_eccm_err : 1;  /* [10] */
        u32 c2_spram_eccm_merr : 1; /* [11] */
        u32 c3_spram_ecc1_err : 1;  /* [12] */
        u32 c3_spram_ecc1_merr : 1; /* [13] */
        u32 c3_spram_eccm_err : 1;  /* [14] */
        u32 c3_spram_eccm_merr : 1; /* [15] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_qcm_spram_ecc_err_u;

/* Define the union csr_tile_qcm_spram_ecc_err_mask_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 c0_spram_ecc1_err_mask : 1; /* [0] */
        u32 c0_spram_eccm_err_mask : 1; /* [1] */
        u32 c1_spram_ecc1_err_mask : 1; /* [2] */
        u32 c1_spram_eccm_err_mask : 1; /* [3] */
        u32 c2_spram_ecc1_err_mask : 1; /* [4] */
        u32 c2_spram_eccm_err_mask : 1; /* [5] */
        u32 c3_spram_ecc1_err_mask : 1; /* [6] */
        u32 c3_spram_eccm_err_mask : 1; /* [7] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_qcm_spram_ecc_err_mask_u;


/* Define the union csr_tile_tiu_version_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 tile_tiu_version : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_tiu_version_u;

/* Define the union csr_tile_tiu_common_cfg_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 rp_tile_tiu_ring_req_thrd : 3;       /* [2:0] */
        u32 rsv_0 : 1;                           /* [3] */
        u32 rp_tile_tiu_wakeup_gen : 1;          /* [4] */
        u32 rp_tile_tiu_qpc_req_thrd : 3;        /* [7:5] */
        u32 rp_tile_tiu_l2i_src : 1;             /* [8] */
        u32 rsv_1 : 3;                           /* [11:9] */
        u32 rp_tile_tiu_cnt_sel : 1;             /* [12] */
        u32 rsv_2 : 3;                           /* [15:13] */
        u32 rp_tile_tiu_cnt_en : 1;              /* [16] */
        u32 rp_tile_check_en : 1;                /* [17] */
        u32 rp_tile_one_bit_err_inj_req : 1;     /* [18] */
        u32 rp_tile_two_bit_err_inj_req : 1;     /* [19] */
        u32 rp_tiu_scatter_en : 1;               /* [20] */
        u32 rp_tiu_stf_col_del_md_hdr_en : 1;    /* [21] */
        u32 rp_tile_q2r_one_bit_err_inj_req : 1; /* [22] */
        u32 rp_tile_q2r_two_bit_err_inj_req : 1; /* [23] */
        u32 rp_tile_c2r_one_bit_err_inj_req : 1; /* [24] */
        u32 rp_tile_c2r_two_bit_err_inj_req : 1; /* [25] */
        u32 rsv_3 : 6;                           /* [31:26] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_tiu_common_cfg_u;

/* Define the union csr_ring_rx_correct_api_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ring_rx_correct_api_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ring_rx_correct_api_cnt_u;

/* Define the union csr_ring_rx_err_api_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ring_rx_err_api_cnt : 8; /* [7:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ring_rx_err_api_cnt_u;

/* Define the union csr_ring_rx_drop_flit_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ring_rx_drop_flit_cnt : 8; /* [7:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ring_rx_drop_flit_cnt_u;

/* Define the union csr_smf_rx_correct_api_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 smf_rx_correct_api_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_smf_rx_correct_api_cnt_u;

/* Define the union csr_smf_rx_err_api_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 smf_rx_err_api_cnt : 8; /* [7:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_smf_rx_err_api_cnt_u;

/* Define the union csr_smf_rx_drop_flit_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 smf_rx_drop_flit_cnt : 8; /* [7:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_smf_rx_drop_flit_cnt_u;

/* Define the union csr_cal_rx_correct_api_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 cal_rx_correct_api_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_cal_rx_correct_api_cnt_u;

/* Define the union csr_cal_rx_err_api_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 cal_rx_err_api_cnt : 8; /* [7:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_cal_rx_err_api_cnt_u;

/* Define the union csr_cal_rx_drop_flit_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 cal_rx_drop_flit_cnt : 8; /* [7:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_cal_rx_drop_flit_cnt_u;

/* Define the union csr_qu_rx_correct_api_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 qu_rx_correct_api_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_qu_rx_correct_api_cnt_u;

/* Define the union csr_qu_rx_err_api_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 qu_rx_err_api_cnt : 8; /* [7:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_qu_rx_err_api_cnt_u;

/* Define the union csr_qu_rx_drop_flit_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 qu_rx_drop_flit_cnt : 8; /* [7:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_qu_rx_drop_flit_cnt_u;

/* Define the union csr_cpb_rx_correct_api_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 cpb_rx_correct_api_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_cpb_rx_correct_api_cnt_u;

/* Define the union csr_cpb_rx_err_api_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 cpb_rx_err_api_cnt : 8; /* [7:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_cpb_rx_err_api_cnt_u;

/* Define the union csr_cpb_rx_drop_flit_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 cpb_rx_drop_flit_cnt : 8; /* [7:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_cpb_rx_drop_flit_cnt_u;

/* Define the union csr_tiu_int_vector_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 cpi_int_index : 24; /* [23:0] */
        u32 rsv_4 : 3;          /* [26:24] */
        u32 enable : 1;         /* [27] */
        u32 int_issue : 1;      /* [28] */
        u32 rsv_5 : 3;          /* [31:29] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tiu_int_vector_u;

/* Define the union csr_tiu_int_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 int_data : 15;       /* [14:0] */
        u32 rsv_6 : 1;           /* [15] */
        u32 program_csr_id : 16; /* [31:16] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tiu_int_u;

/* Define the union csr_tiu_int_mask_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 err_mask : 15;       /* [14:0] */
        u32 rsv_7 : 1;           /* [15] */
        u32 program_csr_id : 16; /* [31:16] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tiu_int_mask_u;

/* Define the union csr_ring_itf_err_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ring_api_drop_err : 1;       /* [0] */
        u32 ring_api_drop_merr : 1;      /* [1] */
        u32 ring_miss_sop_err : 1;       /* [2] */
        u32 ring_miss_sop_merr : 1;      /* [3] */
        u32 ring_miss_eop_err : 1;       /* [4] */
        u32 ring_miss_eop_merr : 1;      /* [5] */
        u32 ring_l2i_over_long_err : 1;  /* [6] */
        u32 ring_l2i_over_long_merr : 1; /* [7] */
        u32 ring_l2i_too_short_err : 1;  /* [8] */
        u32 ring_l2i_too_short_merr : 1; /* [9] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ring_itf_err_u;

/* Define the union csr_ring_itf_err_mask_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ring_api_drop_err_mask : 1;      /* [0] */
        u32 ring_miss_sop_err_mask : 1;      /* [1] */
        u32 ring_miss_eop_err_mask : 1;      /* [2] */
        u32 ring_l2i_over_long_err_mask : 1; /* [3] */
        u32 ring_l2i_too_short_err_mask : 1; /* [4] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ring_itf_err_mask_u;

/* Define the union csr_smf_itf_err_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 smf_api_drop_err : 1;       /* [0] */
        u32 smf_api_drop_merr : 1;      /* [1] */
        u32 smf_miss_sop_err : 1;       /* [2] */
        u32 smf_miss_sop_merr : 1;      /* [3] */
        u32 smf_miss_eop_err : 1;       /* [4] */
        u32 smf_miss_eop_merr : 1;      /* [5] */
        u32 smf_l2i_over_long_err : 1;  /* [6] */
        u32 smf_l2i_over_long_merr : 1; /* [7] */
        u32 smf_l2i_too_short_err : 1;  /* [8] */
        u32 smf_l2i_too_short_merr : 1; /* [9] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_smf_itf_err_u;

/* Define the union csr_smf_itf_err_mask_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 smf_api_drop_err_mask : 1;      /* [0] */
        u32 smf_miss_sop_err_mask : 1;      /* [1] */
        u32 smf_miss_eop_err_mask : 1;      /* [2] */
        u32 smf_l2i_over_long_err_mask : 1; /* [3] */
        u32 smf_l2i_too_short_err_mask : 1; /* [4] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_smf_itf_err_mask_u;

/* Define the union csr_cal_itf_err_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 cal_api_drop_err : 1;  /* [0] */
        u32 cal_api_drop_merr : 1; /* [1] */
        u32 cal_miss_sop_err : 1;  /* [2] */
        u32 cal_miss_sop_merr : 1; /* [3] */
        u32 cal_miss_eop_err : 1;  /* [4] */
        u32 cal_miss_eop_merr : 1; /* [5] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_cal_itf_err_u;

/* Define the union csr_cal_itf_err_mask_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 cal_api_drop_err_mask : 1; /* [0] */
        u32 cal_miss_sop_err_mask : 1; /* [1] */
        u32 cal_miss_eop_err_mask : 1; /* [2] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_cal_itf_err_mask_u;

/* Define the union csr_qu_itf_err_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 qu_api_drop_err : 1;  /* [0] */
        u32 qu_api_drop_merr : 1; /* [1] */
        u32 qu_miss_sop_err : 1;  /* [2] */
        u32 qu_miss_sop_merr : 1; /* [3] */
        u32 qu_miss_eop_err : 1;  /* [4] */
        u32 qu_miss_eop_merr : 1; /* [5] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_qu_itf_err_u;

/* Define the union csr_qu_itf_err_mask_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 qu_api_drop_err_mask : 1; /* [0] */
        u32 qu_miss_sop_err_mask : 1; /* [1] */
        u32 qu_miss_eop_err_mask : 1; /* [2] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_qu_itf_err_mask_u;

/* Define the union csr_cpb_itf_err_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 cpb_api_drop_err : 1;  /* [0] */
        u32 cpb_api_drop_merr : 1; /* [1] */
        u32 cpb_miss_sop_err : 1;  /* [2] */
        u32 cpb_miss_sop_merr : 1; /* [3] */
        u32 cpb_miss_eop_err : 1;  /* [4] */
        u32 cpb_miss_eop_merr : 1; /* [5] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_cpb_itf_err_u;

/* Define the union csr_cpb_itf_err_mask_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 cpb_api_drop_err_mask : 1; /* [0] */
        u32 cpb_miss_sop_err_mask : 1; /* [1] */
        u32 cpb_miss_eop_err_mask : 1; /* [2] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_cpb_itf_err_mask_u;

/* Define the union csr_ring_rqst_chnl_err_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ring_rqst_chnl_err : 1;  /* [0] */
        u32 ring_rqst_chnl_merr : 1; /* [1] */
        u32 rsv_8 : 30;              /* [31:2] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ring_rqst_chnl_err_u;

/* Define the union csr_tiu_indrect_ctrl_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 tiu_indir_addr : 24; /* [23:0] */
        u32 tiu_indir_tab : 4;   /* [27:24] */
        u32 tiu_indir_stat : 2;  /* [29:28] */
        u32 tiu_indir_mode : 1;  /* [30] */
        u32 tiu_indir_vld : 1;   /* [31] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tiu_indrect_ctrl_u;

/* Define the union csr_tiu_indrect_timeout_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 tiu_indir_timeout : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tiu_indrect_timeout_u;

/* Define the union csr_tiu_indrect_data0_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 tiu_indir_data0 : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tiu_indrect_data0_u;

/* Define the union csr_tiu_indrect_data1_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 tiu_indir_data1 : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tiu_indrect_data1_u;

/* Define the union csr_tiu_indrect_data2_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 tiu_indir_data2 : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tiu_indrect_data2_u;

/* Define the union csr_cpb_scat_ecc_1bit_err_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 cpb_scat_ecc_1b_err : 1;  /* [0] */
        u32 cpb_scat_ecc_1b_merr : 1; /* [1] */
        u32 sticky : 7;               /* [8:2] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_cpb_scat_ecc_1bit_err_u;

/* Define the union csr_cpb_scat_ecc_2bit_err_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 cpb_scat_ecc_2b_err : 1;  /* [0] */
        u32 cpb_scat_ecc_2b_merr : 1; /* [1] */
        u32 sticky : 7;               /* [8:2] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_cpb_scat_ecc_2bit_err_u;

/* Define the union csr_tile_tiu_common_cfg1_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 rp_tiu_hw_query_eop_en : 1;  /* [0] */
        u32 rsv_9 : 3;                   /* [3:1] */
        u32 rp_tiu_hw_lt_ld_en : 1;      /* [4] */
        u32 rsv_10 : 3;                  /* [7:5] */
        u32 rp_tiu_hw_ecml_en : 1;       /* [8] */
        u32 rsv_11 : 3;                  /* [11:9] */
        u32 rp_tiu_ecml_lb_en : 1;       /* [12] */
        u32 rsv_12 : 3;                  /* [15:13] */
        u32 rp_tiu_rocpkt_sgid_idx : 12; /* [27:16] */
        u32 rsv_13 : 4;                  /* [31:28] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_tiu_common_cfg1_u;

/* Define the union csr_tile_tiu_common_cfg2_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 rp_tiu_ecml_off1 : 4;   /* [3:0] */
        u32 rp_tiu_ecml_off2 : 4;   /* [7:4] */
        u32 rp_tiu_ecml_off3 : 4;   /* [11:8] */
        u32 rp_tiu_ecml_osdid : 4;  /* [15:12] */
        u32 rp_tiu_lt_ld_osdid : 4; /* [19:16] */
        u32 rsv_14 : 12;            /* [31:20] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_tiu_common_cfg2_u;

/* Define the union csr_tile_tiu_common_cfg3_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 rp_tiu_lt_ld_dw0 : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_tiu_common_cfg3_u;

/* Define the union csr_tile_tiu_common_cfg4_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 rp_tiu_ecml_dw0 : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_tiu_common_cfg4_u;

/* Define the union csr_tile_tiu_common_cfg5_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 rp_tiu_ecml_dw1 : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_tiu_common_cfg5_u;

/* Define the union csr_tile_tiu_scat_cfg0_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 rp_tiu_scat_ofst0 : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_tiu_scat_cfg0_u;

/* Define the union csr_tile_tiu_scat_cfg1_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 rp_tiu_scat_ofst1 : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_tiu_scat_cfg1_u;

/* Define the union csr_qcm10_th_hq_eop_st_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 req : 16;   /* [15:0] */
        u32 exist : 16; /* [31:16] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_qcm10_th_hq_eop_st_u;

/* Define the union csr_qcm32_th_hq_eop_st_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 req : 16;   /* [15:0] */
        u32 exist : 16; /* [31:16] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_qcm32_th_hq_eop_st_u;

/* Define the union csr_qcm54_th_hq_eop_st_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 req : 16;   /* [15:0] */
        u32 exist : 16; /* [31:16] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_qcm54_th_hq_eop_st_u;

/* Define the union csr_tiu_fifo_st_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 q2r_cnt : 8; /* [7:0] */
        u32 rsv_15 : 8;  /* [15:8] */
        u32 c2r_cnt : 8; /* [23:16] */
        u32 rsv_16 : 8;  /* [31:24] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tiu_fifo_st_u;

/* Define the union csr_tiu_hia_err_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 tiu_iofsm_ack_err : 1;  /* [0] */
        u32 tiu_iofsm_ack_merr : 1; /* [1] */
        u32 rsv_17 : 30;            /* [31:2] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tiu_hia_err_u;

/* Define the union csr_c2r_fifo_ov_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ov_err : 1;  /* [0] */
        u32 ov_merr : 1; /* [1] */
        u32 rsv_18 : 30; /* [31:2] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_c2r_fifo_ov_u;

/* Define the union csr_q2r_fifo_ov_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ov_err : 1;  /* [0] */
        u32 ov_merr : 1; /* [1] */
        u32 rsv_19 : 30; /* [31:2] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_q2r_fifo_ov_u;

/* Define the union csr_c2r_fifo_1bit_err_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 c2r_fifo_1b_err : 1;  /* [0] */
        u32 c2r_fifo_1b_merr : 1; /* [1] */
        u32 sticky : 7;           /* [8:2] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_c2r_fifo_1bit_err_u;

/* Define the union csr_c2r_fifo_2bit_err_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 c2r_fifo_2b_err : 1;  /* [0] */
        u32 c2r_fifo_2b_merr : 1; /* [1] */
        u32 sticky : 7;           /* [8:2] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_c2r_fifo_2bit_err_u;

/* Define the union csr_q2r_fifo_1bit_err_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 q2r_fifo_1b_err : 1;  /* [0] */
        u32 q2r_fifo_1b_merr : 1; /* [1] */
        u32 sticky : 7;           /* [8:2] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_q2r_fifo_1bit_err_u;

/* Define the union csr_q2r_fifo_2bit_err_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 q2r_fifo_2b_err : 1;  /* [0] */
        u32 q2r_fifo_2b_merr : 1; /* [1] */
        u32 sticky : 7;           /* [8:2] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_q2r_fifo_2bit_err_u;


/* Define the union csr_tile_tou_version_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 tile_tou_version : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_tou_version_u;

/* Define the union csr_tile_exception_base_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 rsv_0 : 12;               /* [11:0] */
        u32 tile_exception_base : 18; /* [29:12] */
        u32 rsv_1 : 2;                /* [31:30] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_exception_base_u;

/* Define the union csr_tile_tou_common_cfg_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 rp_tile_check_en : 1;                     /* [0] */
        u32 rp_tile_tou_oeid_replace_en : 1;          /* [1] */
        u32 rp_tile_tou_bubble_insert_en : 1;         /* [2] */
        u32 rp_tile_ring_mem_one_bit_err_inj_req : 1; /* [3] */
        u32 rp_tile_tou_cnt_sel : 1;                  /* [4] */
        u32 rp_tile_ring_mem_two_bit_err_inj_req : 1; /* [5] */
        u32 rp_tile_cpb_mem_one_bit_err_inj_req : 1;  /* [6] */
        u32 rp_tile_cpb_mem_two_bit_err_inj_req : 1;  /* [7] */
        u32 rp_tile_tou_cnt_en : 1;                   /* [8] */
        u32 rp_tile_tou_ack_replace_en : 1;           /* [9] */
        u32 tile_mem_ret1n : 1;                       /* [10] */
        u32 rp_oack_sop_en : 1;                       /* [11] */
        u32 tp_ram_tmod : 8;                          /* [19:12] */
        u32 rp_tile_prb_one_bit_err_inj_req : 1;      /* [20] */
        u32 rp_tile_prb_two_bit_err_inj_req : 1;      /* [21] */
        u32 rp_tile_prbn_one_bit_err_inj_req : 1;     /* [22] */
        u32 rp_tile_prbn_two_bit_err_inj_req : 1;     /* [23] */
        u32 rp_tile_uncrt_err_clr : 1;                /* [24] */
        u32 rp_tile_uncrt_err_mask : 5;               /* [29:25] */
        u32 rp_tile_qpc_mem_one_bit_err_inj_req : 1;  /* [30] */
        u32 rp_tile_qpc_mem_two_bit_err_inj_req : 1;  /* [31] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_tou_common_cfg_u;

/* Define the union csr_ring_req_correct_api_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ring_req_correct_api_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ring_req_correct_api_cnt_u;

/* Define the union csr_ring_req_err_api_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ring_req_err_api_cnt : 8; /* [7:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ring_req_err_api_cnt_u;

/* Define the union csr_ring_resp_correct_api_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ring_resp_correct_api_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ring_resp_correct_api_cnt_u;

/* Define the union csr_ring_resp_err_api_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ring_resp_err_api_cnt : 8; /* [7:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ring_resp_err_api_cnt_u;

/* Define the union csr_smf_correct_api_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 smf_correct_api_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_smf_correct_api_cnt_u;

/* Define the union csr_smf_err_api_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 smf_err_api_cnt : 8; /* [7:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_smf_err_api_cnt_u;

/* Define the union csr_qu_correct_api_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 qu_correct_api_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_qu_correct_api_cnt_u;

/* Define the union csr_qu_err_api_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 qu_err_api_cnt : 8; /* [7:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_qu_err_api_cnt_u;

/* Define the union csr_cpb_correct_api_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 cpb_correct_api_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_cpb_correct_api_cnt_u;

/* Define the union csr_cpb_err_api_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 cpb_err_api_cnt : 8; /* [7:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_cpb_err_api_cnt_u;

/* Define the union csr_tou_int_vector_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 cpi_int_index : 24; /* [23:0] */
        u32 rsv_2 : 3;          /* [26:24] */
        u32 enable : 1;         /* [27] */
        u32 int_issue : 1;      /* [28] */
        u32 rsv_3 : 3;          /* [31:29] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tou_int_vector_u;

/* Define the union csr_tou_int_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 int_data : 12;       /* [11:0] */
        u32 rsv_4 : 4;           /* [15:12] */
        u32 program_csr_id : 16; /* [31:16] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tou_int_u;

/* Define the union csr_tou_int_mask_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 err_mask : 12;       /* [11:0] */
        u32 rsv_5 : 4;           /* [15:12] */
        u32 program_csr_id : 16; /* [31:16] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tou_int_mask_u;

/* Define the union csr_prb_ecc_1bit_err_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 prb_mem_ecc_1b_err : 1;  /* [0] */
        u32 prb_mem_ecc_1b_merr : 1; /* [1] */
        u32 sticky : 7;              /* [8:2] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_prb_ecc_1bit_err_u;

/* Define the union csr_prbn_ecc_1bit_err_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 prbn_mem_ecc_1b_err : 1;  /* [0] */
        u32 prbn_mem_ecc_1b_merr : 1; /* [1] */
        u32 sticky : 7;               /* [8:2] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_prbn_ecc_1bit_err_u;

/* Define the union csr_prb_ecc_2bit_err_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 prb_mem_ecc_2b_err : 1;  /* [0] */
        u32 prb_mem_ecc_2b_merr : 1; /* [1] */
        u32 sticky : 7;              /* [8:2] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_prb_ecc_2bit_err_u;

/* Define the union csr_prbn_ecc_2bit_err_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 prbn_mem_ecc_2b_err : 1;  /* [0] */
        u32 prbn_mem_ecc_2b_merr : 1; /* [1] */
        u32 sticky : 7;               /* [8:2] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_prbn_ecc_2bit_err_u;

/* Define the union csr_tile_tou_weight_cfg_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 rp_prbn_weight_cfg : 9; /* [8:0] */
        u32 rsv_6 : 7;              /* [15:9] */
        u32 rp_prb_weight_cfg : 12; /* [27:16] */
        u32 rsv_7 : 4;              /* [31:28] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_tou_weight_cfg_u;

/* Define the union csr_tile_tou_prb_stat_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 tile_mtc_ring_prb_credit : 7;  /* [6:0] */
        u32 rsv_8 : 1;                     /* [7] */
        u32 tile_mtc_nring_prb_credit : 7; /* [14:8] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_tou_prb_stat_u;

/* Define the union csr_tile_tou_ring_arb_req_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 vc_request : 16; /* [15:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_tou_ring_arb_req_u;

/* Define the union csr_tile_tou_nring_arb_req_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 vc_request : 10; /* [9:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_tou_nring_arb_req_u;

/* Define the union csr_tile_tou_crdt_cfg_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 rp_tile_tou_ring_crdt_sel : 5;  /* [4:0] */
        u32 rsv_9 : 3;                      /* [7:5] */
        u32 rp_tile_tou_nring_crdt_sel : 4; /* [11:8] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_tou_crdt_cfg_u;

/* Define the union csr_tile_tou_ring_crdt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 cnt_status : 7; /* [6:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_tou_ring_crdt_u;

/* Define the union csr_tile_tou_nring_crdt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 cnt_status : 7; /* [6:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_tou_nring_crdt_u;

/* Define the union csr_tile_tou_l2i_api_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 tile_tou_l2i_api_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_tou_l2i_api_cnt_u;

/* Define the union csr_tile_tou_thrsl_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 tile_tou_thrsl_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_tou_thrsl_cnt_u;

/* Define the union csr_tile_tou_qcm_rst_req_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 tile_tou_qcm_rst_req : 6; /* [5:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_tou_qcm_rst_req_u;

/* Define the union csr_tile_tou_vc_timeout_cfg_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 rp_vc_timeout_thrld : 20; /* [19:0] */
        u32 rp_vc_timeout_mode : 1;   /* [20] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_tou_vc_timeout_cfg_u;

/* Define the union csr_tile_tou_ring_req_vc_timeout_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 tile_tou_ring_req_vc_timeout_cnt : 8; /* [7:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_tou_ring_req_vc_timeout_cnt_u;

/* Define the union csr_tile_tou_qu_vc_timeout_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 tile_tou_qu_vc_timeout_cnt : 8; /* [7:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_tou_qu_vc_timeout_cnt_u;

/* Define the union csr_tile_tou_cpb_vc_timeout_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 tile_tou_cpb_vc_timeout_cnt : 8; /* [7:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_tou_cpb_vc_timeout_cnt_u;

/* Define the union csr_tou_indrect_ctrl_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 tou_indir_addr : 24; /* [23:0] */
        u32 tou_indir_tab : 4;   /* [27:24] */
        u32 tou_indir_stat : 2;  /* [29:28] */
        u32 tou_indir_mode : 1;  /* [30] */
        u32 tou_indir_vld : 1;   /* [31] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tou_indrect_ctrl_u;

/* Define the union csr_tou_indrect_timeout_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 tou_indir_timeout : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tou_indrect_timeout_u;

/* Define the union csr_tou_indrect_data0_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 tou_indir_data0 : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tou_indrect_data0_u;

/* Define the union csr_tou_indrect_data1_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 tou_indir_data1 : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tou_indrect_data1_u;

/* Define the union csr_tou_indrect_data2_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 tou_indir_data2 : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tou_indrect_data2_u;

/* Define the union csr_tou_indrect_data3_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 tou_indir_data3 : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tou_indrect_data3_u;

/* Define the union csr_tou_indrect_data4_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 tou_indir_data4 : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tou_indrect_data4_u;

/* Define the union csr_tou_indrect_data5_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 tou_indir_data5 : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tou_indrect_data5_u;

/* Define the union csr_ring_mem_ecc_1bit_err_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ring_mem_ecc_1b_err : 1;  /* [0] */
        u32 ring_mem_ecc_1b_merr : 1; /* [1] */
        u32 sticky : 8;               /* [9:2] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ring_mem_ecc_1bit_err_u;

/* Define the union csr_ring_mem_ecc_2bit_err_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ring_mem_ecc_2b_err : 1;  /* [0] */
        u32 ring_mem_ecc_2b_merr : 1; /* [1] */
        u32 sticky : 8;               /* [9:2] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_ring_mem_ecc_2bit_err_u;

/* Define the union csr_cpb_mem_ecc_1bit_err_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 cpb_mem_ecc_1b_err : 1;  /* [0] */
        u32 cpb_mem_ecc_1b_merr : 1; /* [1] */
        u32 sticky : 8;              /* [9:2] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_cpb_mem_ecc_1bit_err_u;

/* Define the union csr_cpb_mem_ecc_2bit_err_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 cpb_mem_ecc_2b_err : 1;  /* [0] */
        u32 cpb_mem_ecc_2b_merr : 1; /* [1] */
        u32 sticky : 8;              /* [9:2] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_cpb_mem_ecc_2bit_err_u;

/* Define the union csr_qpc_mem_ecc_1bit_err_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 qpc_mem_ecc_1b_err : 1;  /* [0] */
        u32 qpc_mem_ecc_1b_merr : 1; /* [1] */
        u32 sticky : 8;              /* [9:2] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_qpc_mem_ecc_1bit_err_u;

/* Define the union csr_qpc_mem_ecc_2bit_err_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 qpc_mem_ecc_2b_err : 1;  /* [0] */
        u32 qpc_mem_ecc_2b_merr : 1; /* [1] */
        u32 sticky : 8;              /* [9:2] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_qpc_mem_ecc_2bit_err_u;

/* Define the union csr_tile_tou_new_cfg_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 rp_tou_smf_pg : 4;                    /* [3:0] */
        u32 rp_smf_nd2rs_one_bit_err_inj_req : 1; /* [4] */
        u32 rp_smf_nd2rs_two_bit_err_inj_req : 1; /* [5] */
        u32 rp_quf_nd2rs_one_bit_err_inj_req : 1; /* [6] */
        u32 rp_quf_nd2rs_two_bit_err_inj_req : 1; /* [7] */
        u32 rsv_10 : 24;                          /* [31:8] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tile_tou_new_cfg_u;

/* Define the union csr_quf_nd2rs_fifo_1bit_err_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 fifo_1b_err : 1;  /* [0] */
        u32 fifo_1b_merr : 1; /* [1] */
        u32 sticky : 7;       /* [8:2] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_quf_nd2rs_fifo_1bit_err_u;

/* Define the union csr_quf_nd2rs_fifo_2bit_err_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 fifo_2b_err : 1;  /* [0] */
        u32 fifo_2b_merr : 1; /* [1] */
        u32 sticky : 7;       /* [8:2] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_quf_nd2rs_fifo_2bit_err_u;

/* Define the union csr_smf_nd2rs_fifo_1bit_err_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 fifo_1b_err : 1;  /* [0] */
        u32 fifo_1b_merr : 1; /* [1] */
        u32 sticky : 5;       /* [6:2] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_smf_nd2rs_fifo_1bit_err_u;

/* Define the union csr_smf_nd2rs_fifo_2bit_err_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 fifo_2b_err : 1;  /* [0] */
        u32 fifo_2b_merr : 1; /* [1] */
        u32 sticky : 5;       /* [6:2] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_smf_nd2rs_fifo_2bit_err_u;

/* Define the union csr_quf_nd2rs_fifo_ovf_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ov_err : 1;  /* [0] */
        u32 ov_merr : 1; /* [1] */
        u32 rsv_11 : 30; /* [31:2] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_quf_nd2rs_fifo_ovf_u;

/* Define the union csr_smf_nd2rs_fifo_ovf_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 ov_err : 1;  /* [0] */
        u32 ov_merr : 1; /* [1] */
        u32 rsv_12 : 30; /* [31:2] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_smf_nd2rs_fifo_ovf_u;

/* Define the union csr_qpci_nd2rs_fifo_st_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 smf_fill : 7; /* [6:0] */
        u32 rsv_13 : 9;   /* [15:7] */
        u32 quf_fill : 8; /* [23:16] */
        u32 rsv_14 : 8;   /* [31:24] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_qpci_nd2rs_fifo_st_u;

/* Define the union csr_tou_mon_cfg_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 rp_tou_mon_cfg : 8; /* [7:0] */
        u32 rsv_15 : 24;        /* [31:8] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tou_mon_cfg_u;

/* Define the union csr_tou_mon_cnt_u */
typedef union {
    /* Define the struct bits */
    struct {
        u32 tou_mon_cnt : 32; /* [31:0] */
    } bits;

    /* Define an unsigned member */
    u32 value;
} csr_tou_mon_cnt_u;


#endif // SD5860_SD5860_TYPEDEF_H
